package com.vca.common.model.user;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 礼品卡用户关系表
 * </p>
 *
 * @author chenBing
 * @since 2022-11-10
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("vca_user_card")
@ApiModel(value="UserCard对象", description="礼品卡用户关系表")
public class UserCard implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键id")
      @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "用户id")
    private Integer uid;

    @ApiModelProperty(value = "礼品卡ID(即商品类型为礼品卡的商品的ID)")
    private Integer cardId;

    @ApiModelProperty(value = "卡号")
    private String cardNo;

    @ApiModelProperty(value = "购买礼品卡订单号")
    private String orderId;

    @ApiModelProperty(value = "使用范围 0=课程 1=讲座 2=展览")
    private Integer userAround;

    @ApiModelProperty(value = "状态   0=未使用 1=已使用 2=已失效")
    private Integer stutus;

    @ApiModelProperty(value = "名称")
    private String name;

    @ApiModelProperty(value = "英文名称")
    private String nameEn;

    @ApiModelProperty(value = "主色")
    private String mainColor;

    @ApiModelProperty(value = "第二色")
    private String secondaryColor;

    @ApiModelProperty(value = "第三色")
    private String tertiaryColor;

    @ApiModelProperty(value = "简介")
    private String introduction;

    @ApiModelProperty(value = "英文简介")
    private String introductionEn;

    @ApiModelProperty(value = "面值")
    private BigDecimal faceValue;

    @ApiModelProperty(value = "开始使用时间")
    private Date startTime;

    @ApiModelProperty(value = "到期时间")
    private Date endTime;

    @ApiModelProperty(value = "使用时间")
    private Date useTime;

    @ApiModelProperty(value = "是否删除")
    private Integer isDeleted;

    @ApiModelProperty(value = "获取方式，online_buy=线上购买  offline_buy=线下购买")
    private String type;

    @ApiModelProperty(value = "使用类型 1=分类卡 2=课程卡/讲座卡/展览卡（取决于使用范围）3=通用卡")
    private Integer useType;

    @ApiModelProperty(value = "所属课程id / 分类id")
    private String primaryKey;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    @ApiModelProperty(value = "礼品卡即将过期是否已通知 0=未通知 1=已通知")
    private Integer noticeStatus;

    @ApiModelProperty(value = "序列号(兑换码)")
    private String cdKey;

    @ApiModelProperty(value = "赠送时间")
    private Date giftTime;

    @ApiModelProperty(value = "礼品卡类型 1:小程序，2:后台")
    private Integer cardType;

    @ApiModelProperty(value = "备注")
    private String remark;

}
